Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Displaying Raw • Download


vendor/rns_filesync/packaging/docker-test/common-setup.sh dev (96b397dc) Text, 2.52 KB

T8b949e#!/bin/sh
T8b949e# Shared setup for packaging service tests inside containers.
Tffa657set -eu

pip_installTff7b72(Tff7b72) Tff7b72{
Tff7b72if python3 -m pip install --help T79c0ff2>/dev/null Tb4b4b4| grep -q Tff7b72break-system-packagesTb4b4b4; Tff7b72then
python3 -m pip install --break-system-packages Ta5d6ff"Te6edf3$@Ta5d6ff"
Tff7b72else
python3 -m pip install Ta5d6ff"Te6edf3$@Ta5d6ff"
Tff7b72fi
Tff7b72}

Tffa657echo Ta5d6ff"==> install rns-filesync from wheel"
pip_install /wheels/*.whl
Te6edf3BINTff7b72=Ta5d6ff"Tff7b72$(Tffa657command -v rns-filesyncTff7b72)Ta5d6ff"
Tff7b72case Ta5d6ff"Te6edf3$BINTa5d6ff" Tff7b72in
/usr/bin/rns-filesyncTff7b72) Tb4b4b4;Tb4b4b4;
*Tff7b72) ln -sfn Ta5d6ff"Te6edf3$BINTa5d6ff" /usr/bin/rns-filesync Tb4b4b4;Tb4b4b4;
Tff7b72esac
Tffa657test -x /usr/bin/rns-filesync
/usr/bin/rns-filesync -v

Tffa657echo Ta5d6ff"==> create non-root user and state dirs"
Tff7b72if ! id rns-filesync >/dev/null T79c0ff2>Tb4b4b4&T79c0ff1Tb4b4b4; Tff7b72then
Tff7b72if Tffa657command -v useradd >/dev/null T79c0ff2>Tb4b4b4&T79c0ff1Tb4b4b4; Tff7b72then
useradd --system --home-dir /var/lib/rns-filesync --create-home Tffea00\
--shell /usr/sbin/nologin rns-filesync T79c0ff2>/dev/null Tffea00\
Tff7b72|| useradd -r -d /var/lib/rns-filesync -m -s /sbin/nologin rns-filesync
Tff7b72elif Tffa657command -v adduser >/dev/null T79c0ff2>Tb4b4b4&T79c0ff1Tb4b4b4; Tff7b72then
adduser -S -D -h /var/lib/rns-filesync -s /sbin/nologin rns-filesync T79c0ff2>/dev/null Tffea00\
Tff7b72|| adduser --system --home /var/lib/rns-filesync --shell /usr/sbin/nologin rns-filesync
Tff7b72else
Tffa657echo Ta5d6ff"FAIL: no useradd/adduser"
Tffa657exit T79c0ff1
Tff7b72fi
Tff7b72fi

T8b949e# Ensure group exists for chown -g
Tff7b72if ! getent group rns-filesync >/dev/null T79c0ff2>Tb4b4b4&T79c0ff1Tb4b4b4; Tff7b72then
Tff7b72if Tffa657command -v groupadd >/dev/null T79c0ff2>Tb4b4b4&T79c0ff1Tb4b4b4; Tff7b72then
groupadd --system rns-filesync T79c0ff2>/dev/null Tff7b72|| groupadd rns-filesync
Tff7b72elif Tffa657command -v addgroup >/dev/null T79c0ff2>Tb4b4b4&T79c0ff1Tb4b4b4; Tff7b72then
addgroup -S rns-filesync T79c0ff2>/dev/null Tff7b72|| addgroup rns-filesync
Tff7b72fi
Tff7b72fi

install -d -o rns-filesync -g rns-filesync -m T79c0ff0700 /var/lib/rns-filesync
install -d -o rns-filesync -g rns-filesync -m T79c0ff0700 /var/lib/rns-filesync/config
install -d -o rns-filesync -g rns-filesync -m T79c0ff0700 /var/lib/rns-filesync/reticulum
install -d -o rns-filesync -g rns-filesync -m T79c0ff0700 /var/lib/rns-filesync/sync

cat >/var/lib/rns-filesync/config/config Ta5d6ff<<'EOF'
[filesync]
announce_interval = 300
directory = /var/lib/rns-filesync/sync
identity = rns_filesync

[access]
sync = r:all

[logging]
loglevel = 6
EOF

cat >/var/lib/rns-filesync/reticulum/config Ta5d6ff<<'EOF'
[reticulum]
enable_transport = Yes
share_instance = No
shared_instance_port = 37428
instance_name = filesync_svc_test
panic_on_interface_error = No

[logging]
loglevel = 6

[interfaces]
[[Loopback UDP]]
type = UDPInterface
enabled = yes
listen_ip = 127.0.0.1
listen_port = 42500
forward_ip = 127.0.0.1
forward_port = 42501
EOF

chown -R rns-filesync:rns-filesync /var/lib/rns-filesync

Tffa657echo Ta5d6ff"==> shared setup done"


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────